]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
ci: Try falling back to stable branch before HEAD
authorFlorian Müllner <fmuellner@gnome.org>
Fri, 6 May 2022 14:45:20 +0000 (16:45 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Mon, 4 Jul 2022 15:47:36 +0000 (17:47 +0200)
For non-MR pipelines, we check for a matching branch or tag name
in mutter. As we use the same naming policy for stable branches
and branch at about the same time, this works generally fine for
branches.

However for tags, it is less unlikely that there is no matching
tag in mutter, in particularly late in a stable cycle when most
changes are translation updates (which are much rare in mutter
than gnome-shell).

Before falling back to main (which is doomed to fail in that case),
try to guess the correct stable branch based on the tag name.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2293>

.gitlab-ci/checkout-mutter.sh

index 449a34e5d9b640bdef63fef6e3438b718d53fbff..765e39dccd7145b4038019ceda14eb58c4818b4c 100755 (executable)
@@ -47,9 +47,23 @@ if [ -z "$mutter_target" ]; then
     mutter_target=FETCH_HEAD
   else
     echo \ not found
-    mutter_target=HEAD
-    echo Using $mutter_target instead
   fi
 fi
 
+fallback_branch=${CI_COMMIT_TAG:+gnome-}${CI_COMMIT_TAG%%.*}
+if [ -z "$mutter_target" -a "$fallback_branch" ]; then
+  echo -n Looking for $fallback_branch instead ...
+  if fetch origin $fallback_branch; then
+    echo \ found
+    mutter_target=FETCH_HEAD
+  else
+    echo \ not found
+  fi
+fi
+
+if [ -z "$mutter_target" ]; then
+  mutter_target=HEAD
+  echo Using $mutter_target instead
+fi
+
 git checkout -q $mutter_target